package net.sk.china.city.domain.dto.user;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 前台用户对象 ar_user
 * 
 * @author yangguanjin
 * @date 2024-04-07
 */
@Data
public class UserUpdateDTO {
    @ApiModelProperty(value = "主键")
    private Long pkId;

    @ApiModelProperty(value = "电话号码")
    private String phone;

    /** 账号 */
    @ApiModelProperty(value = "账号", hidden = true)
    private String account;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "角色，一个标志位，0: 普通用户，1：志愿者")
    private Integer role;

    @ApiModelProperty(value = "所属志愿者队伍")
    private List<Long> teamIdList;

    @ApiModelProperty(value = "工作单位，用户自己填")
    private String company;

    @ApiModelProperty(value = "政治身份，系统内常量")
    private Integer politicalIdentityId;

    @ApiModelProperty(value = "加入志愿说明")
    private String joinDescription;

    @ApiModelProperty(value = "联系地址")
    private String contactAddress;

    @ApiModelProperty(value = "头像url")
    private String avatar;

    @ApiModelProperty(value = "积分")
    private BigDecimal point;

    @ApiModelProperty(value = "工时")
    private BigDecimal workHours;

    @ApiModelProperty(value = "生日")
    private LocalDate birthDate;

    @ApiModelProperty(value = "性别")
    private Integer sex;

    @ApiModelProperty(value = "特长")
    private String forte;

    @ApiModelProperty(value = "身份证号码")
    private String idNumber;

    /** 注册时间 */
    @ApiModelProperty( hidden = true)
    private LocalDateTime registerDatetime;

    /** 加入志愿者时间 */
    @ApiModelProperty(hidden = true)
    private LocalDateTime joinDatetime;

    @ApiModelProperty(value = "网格id")
    private Long gridId;

    /** 地区id列表*/
    @ApiModelProperty(hidden = true)
    private String regionIdList;

    /** 管理队伍id */
    @ApiModelProperty(value = "管理队伍id")
    private Long managedTeamId;
}
